- entity_name = controller.controller_name.singularize.underscore #account
- @entity = instance_variable_get("@#{entity_name}")
- id = dom_id(@entity)

- if params[:cancel].true? # <--------------------- Hide [Edit]

  - if called_from_landing_page?
    crm.flip_form('edit_#{entity_name}');
    crm.set_title('edit_#{entity_name}', '#{h @entity.name}');
  - else                                            # Called from index page...
    $('##{id}').replaceWith('#{ j render(partial: entity_name, collection: [ @entity ]) }');

- else # <----------------------------------------- Show requested [Edit Opportunity] form.

  - if params[:cancel].blank?                       # Called from opportunities list item...
    - if @previous                                  # Hide open [Edit Opportunity] form if any.
      - if @previous.is_a?(Opportunity)
        $('##{dom_id(@previous)}').replaceWith('#{ j render(partial: entity_name, collection: [ @previous ]) }');
      - else
        crm.flick('#{entity_name}_#{@previous}', 'remove');

    -# Disable onMouseOver for the list item.
    crm.highlight_off('#{id}');
    -# Hide [Create] form if any.
    crm.hide_form('create_#{entity_name}');
    -# Show [Edit] form.
    $('##{id}').html('#{ j render(partial: "edit") }');

  - elsif params[:cancel].false?                    # Called from title of the opportunity landing page...
    $('#edit_#{entity_name}').html('#{ j render(partial: "edit") }');
    crm.flip_form('edit_#{entity_name}');
    crm.set_title('edit_#{entity_name}', "#{t :edit} #{h @opportunity.name}");

  crm.create_or_select_account(#{ request.referer =~ /\/accounts\// || @account.id.blank? });
